package com.school.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.school.domain.dto.PhonePwdLoginDTO;
import com.school.domain.dto.UserNamePwdLoginDTO;
import com.school.domain.dto.UserRegisterDTO;
import com.school.domain.po.User;
import com.school.domain.vo.user.UserLoginVO;

/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author Forever
 * @since 2025-07-05
 */
public interface UserService extends IService<User> {


    /**
     * 根据手机号登录
     * <p>
     * 该方法用于通过手机号和密码进行用户登录验证。
     *
     * @param login 用户的手机号和密码数据对象
     * @return 返回包含用户登录信息的 UserLoginVO 对象
     */
    UserLoginVO loginByPhone(PhonePwdLoginDTO login);

    /**
     * 根据用户名登录
     * <p>
     * 该方法用于通过用户名和密码进行用户登录验证。
     *
     * @param login 用户的用户名和密码数据对象
     * @return 返回包含用户登录信息的 UserLoginVO 对象
     */
    UserLoginVO loginByUserName(UserNamePwdLoginDTO login);

    /**
     * 用户注册
     * <p>
     * 该方法用于处理用户注册操作，根据提供的用户注册信息进行用户账户创建。
     *
     * @param register 用户注册数据对象，包含用户名、密码等信息
     * @return 返回注册的状态信息，如成功或失败
     */
    String userRegister(UserRegisterDTO register);


}
